From f3f1bdc2f03d31eca75a804076b7e64f4519d492 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 15 Nov 2005 15:38:53 +0000 Subject: [PATCH] Fix a memory leak. (#321032, Peter Zelezny) * gtk/gtktreestore.c (gtk_tree_store_move): Fix a memory leak. (#321032, Peter Zelezny) --- ChangeLog | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ gtk/gtktreestore.c | 12 ++++++------ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 90ddf99ad3..0e7ec44b3d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-11-15 Matthias Clasen + + * gtk/gtktreestore.c (gtk_tree_store_move): Fix a memory + leak. (#321032, Peter Zelezny) + 2005-11-15 Michael Natterer * gdk/x11/gdkdisplay-x11.c (gdk_display_x11_finalize): destroy diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 90ddf99ad3..0e7ec44b3d 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2005-11-15 Matthias Clasen + + * gtk/gtktreestore.c (gtk_tree_store_move): Fix a memory + leak. (#321032, Peter Zelezny) + 2005-11-15 Michael Natterer * gdk/x11/gdkdisplay-x11.c (gdk_display_x11_finalize): destroy diff --git a/gtk/gtktreestore.c b/gtk/gtktreestore.c index ca96914421..914997ad79 100644 --- a/gtk/gtktreestore.c +++ b/gtk/gtktreestore.c @@ -2258,7 +2258,6 @@ gtk_tree_store_move (GtkTreeStore *tree_store, if (depth) { gtk_tree_model_get_iter (GTK_TREE_MODEL (tree_store), &parent_iter, path); - gtk_tree_path_free (path); parent = G_NODE (parent_iter.user_data); } @@ -2323,7 +2322,7 @@ gtk_tree_store_move (GtkTreeStore *tree_store, b = G_NODE (dst_b.user_data); } - /* if a is NULL, a is NULL too -- we are at the end of the list + /* if a is NULL, b is NULL too -- we are at the end of the list * yes and we leak memory here ... */ if (position) @@ -2466,17 +2465,18 @@ gtk_tree_store_move (GtkTreeStore *tree_store, if (depth) { - path = gtk_tree_model_get_path (GTK_TREE_MODEL (tree_store), &parent_iter); + tmppath = gtk_tree_model_get_path (GTK_TREE_MODEL (tree_store), &parent_iter); gtk_tree_model_rows_reordered (GTK_TREE_MODEL (tree_store), - path, &parent_iter, order); + tmppath, &parent_iter, order); } else { - path = gtk_tree_path_new (); + tmppath = gtk_tree_path_new (); gtk_tree_model_rows_reordered (GTK_TREE_MODEL (tree_store), - path, NULL, order); + tmppath, NULL, order); } + gtk_tree_path_free (tmppath); gtk_tree_path_free (path); if (position) gtk_tree_path_free (pos_path); -- 2.30.2